/**
 * @author xu.yan
 * @time 2022-07-25 3 PM
 * @description 状态数据定义和管理
 */

import Vue from 'vue' // 导入 vue 库
import Vuex from 'vuex' // 导入 vuex 插件
import createPersistedState from 'vuex-persistedstate' // 引入数据持久化插件
import userModule from './modules/user' // 导入user模块
import cartModule from './modules/cart' // 导入user模块

Vue.use(Vuex) // 注册 vuex

export default new Vuex.Store({
  /** 进行插件注册 */
  plugins: [
    createPersistedState({
      storage: window.sessionStorage, // 将数据存储在 sessionStorage 里面
      paths: ['user.token'], // 限定存储指定数据
    }),
  ],
  state: {
  },
  mutations: {
  },
  actions: {
  },
  modules: {
    user: userModule, // 用户模块的命名空间
    cart: cartModule, // 购物车模块的命名空间
  },
})
